//
// Created by Tiany on 2021/6/21.
//链表类型的栈

#ifndef SHUJUJIEGOU_LINKSTACK_H
#define SHUJUJIEGOU_LINKSTACK_H

//数据结构
struct DataType {
    int n;
};

//结点类型
struct Node;
typedef struct Node *PNode;
struct Node {
    struct DataType info;
    PNode link;
};

//栈顶的结构
struct LinkStack {
    PNode top;/*栈顶，是栈的属性*/
};
typedef struct LinkStack *PLinkStack;/*定义指向栈顶的指针*/

//创建空栈
PLinkStack createEmptyStack_link(void );

//判断栈是否为空
int isEmptyStack_link(PLinkStack pLinkStack);

//进栈
void push_link(PLinkStack linkStack, struct DataType x);

//出栈
void pop_link(PLinkStack pLinkStack);

//取栈顶元素
struct DataType top_link(PLinkStack pLinkStack);


#endif //SHUJUJIEGOU_LINKSTACK_H
